using System.Windows.Forms; using System.Drawing; using Drawing3d; namespace Sample { public partial class Form1 : Form { MyDevice Device = new MyDevice(); public Form1() { InitializeComponent(); Device.WinControl = this; } } public class MyDevice:OpenGlDevice { Texture T = new Texture(); Curve2d CustomCurve = new Curve2d(); CoordinateAxis Axis = new CoordinateAxis(); public override void OnPaint() { base.OnPaint(); PolygonMode = PolygonMode.Line; Axis.Paint(this); PenWidth = 2; drawCurve(CustomCurve); PenWidth = 1; } protected override void OnCreated() { base.OnCreated(); BackColor = Color.White; CustomCurve.Resolution = 60; CustomCurve.OnGetValue += CustomCurve_OnGetValue; Axis.Dim3d = false; Axis.TextHeight = 0.5; } private xy CustomCurve_OnGetValue(object sender, double t) { t = (t - 0.5) * 2.5; // Map from [0,1]. return new xy(4 * (t * t - 1), 4 * t * (t * t - 1)); } } }